-
Notifications
You must be signed in to change notification settings - Fork 583
feat: merge-train/barretenberg #19653
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adds the missing `graph_description_keccak.test.cpp` for keccak in `boomerang_value_detection` module.
Updates the commit hash in blake files included in the blake audit scope document.
ludamad
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤖 Auto-approved
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
## Summary - Enable `BB_ASSERT` macros in WASM builds for improved debugging and error detection - Add `BB_ASSERT_NO_WASM` family for performance-critical asserts that are too expensive to run in WASM - Convert two high-frequency asserts to NO_WASM variants (RefArray iterator at 159M hits, Polynomial::set_if_valid_index at 13.5M hits) - Convert `throw_or_abort` in recursion_constraint and public_input_component back to `BB_ASSERT` now that WASM asserts are enabled Closes AztecProtocol/barretenberg#1200 ## Benchmark Results ### ChonkBench (WASM Full/2) | Configuration | Time | Regression | |--------------|------|------------| | Baseline (asserts disabled) | 21,872 ms | - | | All asserts enabled | 22,480 ms | +2.8% | | With NO_WASM on hot asserts | 22,195 ms | +1.5% | ### AVM Bulk Test | Configuration | Proving Time | Bulk Test Time | |--------------|--------------|----------------| | Baseline (asserts disabled) | 29,303 ms | 29,889 ms | | With asserts enabled | 27,315 ms | 27,861 ms | No significant regression observed in AVM proving. The 1.5% regression in ChonkBench is an acceptable tradeoff for the improved debuggability and error detection that asserts provide in WASM builds. ## Test Plan - [x] WASM ChonkBench Full/2 and Full/5 benchmarks pass - [x] AVM bulk proving test passes (`avm_bulk.test.ts`) - [x] Native builds unaffected (NO_WASM macros expand to regular asserts)
This removes some unnecessary wrappers around the inputs to some blackbox functions
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
Assert did not account for size_t = 32 bits in wasm and was overflowing
Changes include: - Introduce `apply_32_bit_range_constraint_via_lookup()` for efficient 32-bit range constraints - Change `add_normalize` --> `add_normalize_unsafe` to highlight lack of range constraint on output; add parameter `overflow_bits` - Reduce certain divisor/overflow range constraints from 3 to 2 or 1 to match max required for completeness - Remove all AUDITTODOs, some of which were erroneous
- Adds bigfield audit scope (already audited) - Adds logic module scope (to be audited with hash functions) - Adds `goblin_field` and `biggroup_goblin` in circuit builder scope - Deletes eccvm circuit/prover audit scope (included with eccvm core audit or chonk verifier)
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
BEGIN_COMMIT_OVERRIDE
chore: add graph_description_keccak test (#19575)
chore: update commit hash in blake files in blake audit scope (#19593)
feat: enable asserts in WASM builds (#19632)
chore: remove unnecessary "inputs" structs (#19660)
fix: overflow in wasm assert (#19690)
chore!: sha audit 2 (#19436)
chore: add logic audit scope (and add old bigfield scope) (#19680)
END_COMMIT_OVERRIDE